package com.jk.smartelderlycare.interfaces;

import com.jk.smartelderlycare.dto.SysRole;
import com.jk.smartelderlycare.dto.SysUser;
import com.jk.smartelderlycare.pojo.PagedResponse;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Description 公共接口
 * @Author hhk
 * @LastChangeDate 2024/11/5 15:24
 * @Version v1.0
 */
public interface SysUserServiceApi {
    /** 
     * @description: 员工列表 后端分页查询
     * @param: [sysUser, pageNum, pageSize]
     * @return: com.jk.smartelderlycare.pojo.PagedResponse<com.jk.smartelderlycare.dto.SysUser>
     * @author hhk
     * @date: 2024/11/5 15:32
     */ 
    @PostMapping(value = "/sysUser/findSysUserPaginationList")
    public PagedResponse<SysUser> findSysUserPaginationList(@RequestBody SysUser sysUser, @RequestParam(value = "pageNum") Integer pageNum,@RequestParam(value = "pageSize") Integer pageSize);
    /**
     * @description: 新增员工
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 15:33
     */
    @PostMapping(value = "/sysUser/addSysUser")
    public void addSysUser(@RequestBody SysUser sysUser);
    /**
     * @description: 根据id删除一条数据信息
     * @param: [userId]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 15:35
     */
    @DeleteMapping("/sysUser/deleteSysUserByUserId")
    public void deleteSysUserByUserId(@RequestParam Long userId);
    /**
     * @description: 根据id回显一条数据
     * @param: [userId]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 15:37
     */
    @GetMapping(value = "/sysUser/findSysUserByUserId")
    public SysUser findSysUserByUserId(@RequestParam Long userId);
    /**
     * @description: 修改员工列表信息
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/5 15:39
     */
    @PutMapping(value = "/sysUser/updateSysUser")
    public void updateSysUser(@RequestBody SysUser sysUser);
    /**
     * @description: 登录
     * @param: [username]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/6 16:05
     */
    @RequestMapping(value = "/sysUser/findSysUserByUserName")
    public SysUser findSysUserByUserName(@RequestParam(value = "username") String username);
    /** 
     * @description: 状态修改
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/6 20:22
     */ 
    @RequestMapping(value = "/sysUser/updateStatusById")
    public void updateStatusById(@RequestBody SysUser sysUser);
    /** 
     * @description: 角色动态下拉列表查询
     * @param: [sysRole]
     * @return: java.util.List<com.jk.smartelderlycare.dto.SysRole>
     * @author hhk
     * @date: 2024/11/6 20:28
     */ 
    @RequestMapping(value = "sysUser/findSysRoleList")
    public List<SysRole> findSysRoleList();

    /**
     * @description: 根据当前登陆人id查询
     * @param: [username]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/11 10:02
     */
    @PostMapping(value = "/sysUser/getSysUserByUsername")
    public List<SysUser> getSysUserByUsername(@RequestBody SysUser sysUser);

    /**
     * @description: 修改密码
     * @param: [sysUser]
     * @return: com.jk.smartelderlycare.dto.SysUser
     * @author hhk
     * @date: 2024/11/11 11:00
     */
    @PutMapping(value = "/sysUser/upSysUserByPassWord")
    public void upSysUserByPassWord(@RequestBody SysUser sysUser);
    
    /** 
     * @description: 用户表单表修改
     * @param: [sysUser]
     * @return: void
     * @author hhk
     * @date: 2024/11/12 10:53
     */ 
    @PutMapping(value = "/sysUser/uptSysUser")
    public void uptSysUser(@RequestBody SysUser sysUser);
    /**
     * @description: 角色表新增
     * @param: [sysRole]
     * @return: void
     * @author hhk
     * @date: 2024/11/12 20:37
     */
    @PostMapping("/sysUser/addSysRole")
    public void addSysRole(@RequestBody SysRole sysRole);




}
